96a02f4f0bd68a552aa03cd570c61e515391cb1e,src/main/java/com/jsoniter/output/CodegenImplArray.java,CodegenImplArray,genList,#Class#Type#,66

Before Change


        ctx.append("java.lang.Object e = list.get(0);");
        ctx.append("if (e == null) { stream.writeNull(); } else {");
        CodegenImplNative.genWriteOp(ctx, "e", compType, true);
        ctx.append("}");
        ctx.append("for (int i = 1; i < size; i++) {");
        ctx.append("stream.write(',');");
        ctx.append("e = list.get(i);");
        ctx.append("if (e == null) { stream.writeNull(); } else {");
        CodegenImplNative.genWriteOp(ctx, "e", compType, true);
        ctx.append("}");
        ctx.append("}");
        ctx.buffer(']');
        ctx.append("}");

After Change


    }

    private static CodegenResult genList(String cacheKey, Class clazz, Type compType) {
        boolean isCollectionValueNullable = true;
        if (cacheKey.endsWith("__value_not_nullable")) {
            isCollectionValueNullable = false;
        }
        CodegenResult ctx = new CodegenResult();
        ctx.append("public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException {");
        ctx.append("java.util.List list = (java.util.List)obj;");
        ctx.append("int size = list.size();");
        ctx.append("if (size == 0) { return; }");
        ctx.buffer('[');
        ctx.append("java.lang.Object e = list.get(0);");
        if (isCollectionValueNullable) {
            ctx.append("if (e == null) { stream.writeNull(); } else {");
            CodegenImplNative.genWriteOp(ctx, "e", compType, true);
            ctx.append("}");
        } else {
            CodegenImplNative.genWriteOp(ctx, "e", compType, false);
        }
        ctx.append("for (int i = 1; i < size; i++) {");
        ctx.append("stream.write(',');");
        ctx.append("e = list.get(i);");
        if (isCollectionValueNullable) {
            ctx.append("if (e == null) { stream.writeNull(); } else {");
            CodegenImplNative.genWriteOp(ctx, "e", compType, true);
            ctx.append("}");
        } else {
            CodegenImplNative.genWriteOp(ctx, "e", compType, false);
        }